1. Technical Field
This application generally relates to computer data storage, and more particularly to detection of data corruption in connection with computer data storage.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as the Symmetrix™ family of data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. An example data storage system may include one or more data storage devices, such as those of the Symmetrix™ family, that are connected together and may be used to provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations and also administrative tasks, such as data backup and mirroring operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass. and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data stored therein.
When a host performs a data operation, such as a write operation, using a data storage device, corruption of the data may occur at any one or more different processing points from when data associated with a high level user software application, for example, is actually written to the particular storage location. The data corruption may not be detected until some time later, for example, when an attempt is made to read the corrupted data.
As part of data recovery operations, transaction logs may be used. A computer system may record transaction information associated with read and write transactions, for example, that may be used in the event of a data corruption by “playing back” the transactions associated with the corrupted data. By playing back the transactions associated with a particular device or portion thereof, the corrupted data may be replaced with uncorrupted data.
One drawback with the foregoing is that the playback of transactions may be time consuming. Additionally, data corruptions may go undetected for an unbounded length of time since the detection may not occur until another access, such as a read, of the corrupted data is performed. The amount of transaction “play back” from the transaction log as part of data recovery may increase as the amount of time between the corruption and the detection thereof increases. Using the foregoing, it may be difficult to determine when a data corruption has occurred in a timely manner as well as prevent possible additional data corruptions.
Thus, it may be desirous and advantageous to have an efficient technique which provides for detection of a data corruption in a timely manner.